#!/bin/sh
# 文件路径：/www/cgi-bin/netflow_save

# 设置响应头
echo "Content-Type: text/plain"
echo

# URL解码函数
urldecode() {
    local url_encoded="${1//+/ }"
    printf '%b' "${url_encoded//%/\\x}"
}

# 创建配置目录
mkdir -p /etc/netflow

# 读取 POST 数据
read -r QUERY_STRING

# 记录原始请求数据用于调试
echo "$(date): 原始请求: $QUERY_STRING" >> /tmp/netflow_save.log

# 解析参数
SECTION=$(echo "$QUERY_STRING" | grep -o 'section=[^&]*' | cut -d= -f2)
DATA=$(echo "$QUERY_STRING" | grep -o 'data=[^&]*' | cut -d= -f2)
DATA=$(urldecode "$DATA")
ITEM_INDEX=$(echo "$QUERY_STRING" | grep -o 'item_index=[^&]*' | cut -d= -f2)

# 记录解析后的参数用于调试
echo "解析参数: SECTION=$SECTION, ITEM_INDEX=$ITEM_INDEX" >> /tmp/netflow_save.log
echo "DATA=$DATA" >> /tmp/netflow_save.log

# 保存数据到文件
if [ -n "$ITEM_INDEX" ]; then
    # 编辑项目情况
    echo "$DATA" > "/etc/netflow/${SECTION}_${ITEM_INDEX}.json"
    echo "$(date): 保存项目: $SECTION 索引: $ITEM_INDEX" >> /tmp/netflow_save.log
else
    # 普通表单情况
    echo "$DATA" > "/etc/netflow/${SECTION}.json"
    echo "$(date): 保存设置: $SECTION" >> /tmp/netflow_save.log
fi

# 确认文件写入成功
if [ -f "/etc/netflow/${SECTION}${ITEM_INDEX:+_$ITEM_INDEX}.json" ]; then
    echo "保存成功，文件已写入" >> /tmp/netflow_save.log
else
    echo "保存失败，文件未写入" >> /tmp/netflow_save.log
fi

# 返回成功状态
echo "OK"
